define(['mui', 'ajax'], function(mui) {

	mui.init({
		swipeBack: false,
		beforeback: back,
		statusBarBackground: '#0070bc'
	});

	var ting = "0";
	var as = 'none'; // 默认窗口打开无动画
	var ws, report, now = "index.html";
	var preate = null;
	var start = 1;
	var tspage = 0,
		tsmsg = null;
	var user = null;
	var analys = null;
	var first = null;
	var initStatus = false;
	var preate = new Object();;
	//var badgeSpan = document.getElementById("badge");
	var order = 0;
	var firstpage = document.getElementById("fristpage");
	var shouldreceive = true;
	var showMenu = false,
		mode = 'menu-move';
	var main, menu;

	function back() {
		if(showMenu) {
			//菜单处于显示状态，返回键应该先关闭菜单,阻止主窗口执行mui.back逻辑；
			closeMenu();
			return false;
		} else {
			//菜单处于隐藏状态，执行返回时，要先close菜单页面，然后继续执行mui.back逻辑关闭主窗口；
			menu.close('none');
			return true;
		}
	}
	//初始化，并预加载webview模式的选项卡					

	function preateWebviews() {
		preate = new Object();
		var plist = document.getElementById('plist').children;
		// 由于启动是预创建过多Webview窗口会消耗较长的时间，所以这里限制仅创建5个
		for(var i = 0; i < plist.length && i < 4; i++) {
			var id = plist[i].id;
			preateWebivew(id);
		}
	}

	function preateWebivew(id) {
		var w = null;
		if(!preate[id]) {
			if(id != "pages/user.html") {
				w = plus.webview.create(id, id, {
					top: '44px',
					bottom: '53px',
					scrollIndicator: 'none',
					scalable: false,
					scrollsToTop: 'true',
					popGesture: 'none'

				});
			} else {
				w = plus.webview.create(id, id, {
					top: '0',
					bottom: '53px',
					scrollIndicator: 'none',
					scalable: false,
					scrollsToTop: 'true',
					popGesture: 'none'
				});
			}
			preate[id] = w;
		}
	}

	mui.plusReady(function() {
		main = plus.webview.currentWebview();
		main.addEventListener('maskClick', closeMenu);
		//setTimeout的目的是等待窗体动画结束后，再执行create webview操作，避免资源竞争，导致窗口动画不流畅；
		setTimeout(function() {
			//侧滑菜单默认隐藏，这样可以节省内存；
			menu = mui.preload({
				id: 'index-menu.html',
				url: 'index-menu.html',
				styles: {

					left: 0,
					width: '70%',
					zindex: 9997

				}
			});
		}, 300);
		user = judgeLogin();
		if(user && user.headimg) {
			document.getElementById("headImg_index").src = main_host + user.headimg
		} else {
			document.getElementById("headImg_index").src="../library/images/img/nav_img_head@2x.png"
		}

		//联网检查，如果没有联网显示刷新页面
		if(plus.networkinfo.getCurrentType() == "1") {
			plus.nativeUI.toast("未联网， 请检查");
		}
		preateWebviews();
		report = preate['index_content.html'];
		report.addEventListener('maskClick', closeMenu);
		//读取本地存储，检查是否为首次启动
		var showGuide = plus.storage.getItem("lauchFlag");
		//仅支持竖屏显示
		plus.screen.lockOrientation("portrait-primary");
		if(showGuide) {
			//有值，说明已经显示过了，无需显示；
			//关闭splash页面；
			plus.navigator.closeSplashscreen();
			firstpage.classList.add("hidden");
			document.getElementById("qidongye").src = "";
			firstpage.parentNode.removeChild(firstpage);
			plus.navigator.setFullscreen(false);
			report.show("zoom-fade-out", 300)

		} else {
			//显示启动导航
			var first = mui.openWindow({
				id: 'guide',
				url: 'guide.html',
				styles: {
					popGesture: "none"
				},
				show: {
					aniShow: 'none'
				},
				waiting: {
					autoShow: false
				}
			});
			first.addEventListener("close", function() {
				firstpage.classList.add("hidden");
				document.getElementById("qidongye").src = "";
				firstpage.parentNode.removeChild(firstpage);
				plus.navigator.setFullscreen(false);
				report.show("zoom-fade-out", 300)
			});

		}

	});
	/**
	 * 显示菜单菜单
	 */
	function openMenu() {
		if(!showMenu) {

			//侧滑菜单处于隐藏状态，则立即显示出来；
			//显示完毕后，根据不同动画效果移动窗体；
			menu.show('none', 0, function() {
				switch(mode) {
					case 'main-move':
						//主窗体开始侧滑；
						main.setStyle({
							left: '70%',
							transition: {
								duration: 150
							}
						});
						break;
					case 'menu-move':
						menu.setStyle({

							left: '0%',
							transition: {
								duration: 150
							}
						});
						main.setStyle({
							mask: 'rgba(0,0,0,0.4)'
						})
						report.setStyle({
							mask: 'rgba(0,0,0,0.4)'
						})
						break;
					case 'all-move':
						main.setStyle({
							left: '70%',
							transition: {
								duration: 150
							}
						});
						menu.setStyle({
							left: '0%',
							transition: {
								duration: 150
							}
						});
						break;
				}
			});

			showMenu = true;
		}
	}
	/**
	 * 关闭侧滑菜单
	 */
	function closeMenu() {
		_closeMenu();
		//关闭遮罩
		//mask.close();
	}
	/**
	 * 关闭侧滑菜单（业务部分）
	 */
	function _closeMenu() {

		if(showMenu) {
			//关闭遮罩；
			switch(mode) {
				case 'main-move':
					//主窗体开始侧滑；
					main.setStyle({
						left: '0',
						transition: {
							duration: 150
						}
					});
					break;
				case 'menu-move':
					//主窗体开始侧滑；
					menu.setStyle({

						left: '-70%',
						transition: {
							duration: 150
						}
					});
					main.setStyle({
						mask: 'none'
					})
					report.setStyle({
						mask: 'none'
					})
					break;
				case 'all-move':
					//主窗体开始侧滑；
					main.setStyle({
						left: '0',
						transition: {
							duration: 150
						}
					});
					//menu页面同时移动
					menu.setStyle({
						left: '-70%',
						transition: {
							duration: 150
						}
					});

					break;
			}

			//等窗体动画结束后，隐藏菜单webview，节省资源；
			setTimeout(function() {
				menu.hide();
			}, 200);
			//改变标志位
			showMenu = false;
		}
	}
	//在android4.4中的swipe事件，需要preventDefault一下，否则触发不正常
	//故，在dragleft，dragright中preventDefault
	window.addEventListener('dragright', function(e) {
		e.detail.gesture.preventDefault();
	});
	window.addEventListener('dragleft', function(e) {
		e.detail.gesture.preventDefault();
	});
	//主界面向右滑动，若菜单未显示，则显示菜单；否则不做任何操作；
	window.addEventListener("swiperight", openMenu);
	//主界面向左滑动，若菜单已显示，则关闭菜单；否则，不做任何操作；
	window.addEventListener("swipeleft", closeMenu);
	//menu页面向左滑动，关闭菜单；
	window.addEventListener("menu:swipeleft", closeMenu);

	//重写mui.menu方法，Android版本menu按键按下可自动打开、关闭侧滑菜单；
	mui.menu = function() {
		if(showMenu) {
			closeMenu();
		} else {
			openMenu();
		}
	}
	document.getElementById("avator").addEventListener('tap', openMenu);

	//因为recivie跟click push 是异步接收的，需要使用回调代理
	//做个messagebadge更新代理
	window.addEventListener('updateBadge', function(event) {
		var order_tmp1 = plus.storage.getItem("order");
		var order_tmp2 = order_tmp1 == '' ? 0 : Number(order_tmp1)
		order--;
		// alert("storage order_tmp:"+order_tmp)
		if(order_tmp2 > 0) {
			//消息角标
			order_tmp2--;
		}
		//alert("设置点击后的 order_tmp:"+order_tmp)
		plus.storage.setItem('order', "" + order_tmp2);
		messageBadge();
	});

	function messageBadge() {
		var order_tmp1 = Number(plus.storage.getItem("order"));
		var badgeOrder = isNaN(order_tmp1) ? 0 : order_tmp1
		if(badgeOrder == 0) {
			badgeSpan.className = 'mui-badge pphidden';
		} else {
			badgeSpan.className = 'mui-badge';
			badgeSpan.innerHTML = badgeOrder;
		}
		// plus.runtime.setBadgeNumber(badgeOrder);
		badgeOrder = null;
	}
	//修改头像触发此处修改头像显示
	window.addEventListener('changeHeadImgIndex', function(event) {
		user = judgeLogin();
		if(user && user.headimg) {
			document.getElementById("headImg_index").src = main_host + user.headimg
		} else {
			document.getElementById("headImg_index").src = "../library/images/img/nav_img_head@2x.png"
		}
		user = null;
	});
})